/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 */
package com.jeesite.modules.ajz.entity;

import javax.validation.constraints.NotBlank;
import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.jeesite.common.mybatis.annotation.JoinTable;
import com.jeesite.common.mybatis.annotation.JoinTable.Type;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

/**
 * 企业安全生产Entity
 * @author cww
 * @version 2018-12-28
 */
@Table(name="ajz_company_info", alias="a", columns={
		@Column(name="enterprise_name", attrName="enterpriseName", label="营业执照名", queryType=QueryType.LIKE),
		@Column(name="enterprise_num", attrName="enterpriseNum", label="营业执照号码"),
		@Column(name="contact_person", attrName="contactPerson", label="联系人"),
		@Column(name="contact_person_tel", attrName="contactPersonTel", label="联系人电话"),
		@Column(name="addr", attrName="addr", label="地址"),
		@Column(name="emp_count", attrName="empCount", label="员工数量"),
		@Column(name="enterprise_type", attrName="enterpriseType", label="企业性质"),
		@Column(name="danger_lev", attrName="dangerLev", label="隐患等级"),
		@Column(name="is_trouble", attrName="isTrouble", label="是否包含隐患点"),
		@Column(name="deadline", attrName="deadline", label="整改截止时间"),
		@Column(name="is_triad", attrName="isTriad", label="是否三合一"),
		@Column(name="registered", attrName="registered", label="注册地"),
		@Column(name="id", attrName="id", label="id", isPK=true),
		@Column(name="legal_person", attrName="legalPerson", label="法人"),
		@Column(name="legal_person_tel", attrName="legalPersonTel", label="法人电话"),
		@Column(name="post", attrName="post", label="职务"),
		@Column(name="enterprise_picture", attrName="enterprisePicture", label="营业执照照片"),
		@Column(name="scale", attrName="scale", label="规模", comment="规模：规上、规下"),
		@Column(name="area", attrName="area", label="面积"),
		@Column(name="year_value", attrName="yearValue", label="年产值"),
		@Column(name="floor_count", attrName="floorCount", label="楼层高度"),
		@Column(name="buiness_content", attrName="buinessContent", label="经营范围"),
		@Column(name="longitude", attrName="longitude", label="经度"),
		@Column(name="dimension", attrName="dimension", label="维度"),
		@Column(name="office_id", attrName="officeId", label="部门id"),
		@Column(name="area_id", attrName="areaId", label="area_id"),
		@Column(name="user_id", attrName="userId", label="sys_userid"),
		@Column(name="cycle_index", attrName="cycleIndex", label="完成第几轮排查"),
		@Column(name="cycle_count", attrName="cycleCount", label="第几轮排查的第几次排查"),
		@Column(name="cycle_ajz_index", attrName="cycleAjzIndex", label="计划第几轮排查"),
		@Column(includeEntity=DataEntity.class),
	}, orderBy="a.update_date DESC"
)
public class AjzCompanyInfo extends DataEntity<AjzCompanyInfo> {
	
	private static final long serialVersionUID = 1L;
	private String enterpriseName;		// 营业执照名
	private String enterpriseNum;		// 营业执照号码
	private String contactPerson;		// 联系人
	private String contactPersonTel;		// 联系人电话
	private String addr;		// 地址
	private String empCount;		// 员工数量
	private String enterpriseType;		// 企业性质
	private String dangerLev;		// 隐患等级
	private String isTrouble;		// 是否包含隐患点
	private Date deadline;		// 整改截止时间
	private String isTriad;		// 是否三合一
	private String registered;		// 注册地
	private String legalPerson;		// 法人
	private String legalPersonTel;		// 法人电话
	private String post;		// 职务
	private String enterprisePicture;		// 营业执照照片
	private String scale;		// 规模：规上、规下
	private String area;		// 面积
	private String yearValue;		// 年产值
	private String floorCount;		// 楼层高度
	private String buinessContent;		// 经营范围
	private String longitude;		// 经度
	private String dimension;		// 维度
	private String officeId;		// 部门id
	private String areaId;		// area_id
	private String userId;		// sys_userid
	private String cycleIndex;		// 完成第几轮排查
	private String cycleCount;		// 第几轮排查的第几次排查
	private String cycleAjzIndex;		// 计划第几轮排查
	
	public AjzCompanyInfo() {
		this(null);
	}

	public AjzCompanyInfo(String id){
		super(id);
	}
	
	@NotBlank(message="营业执照名不能为空")
	@Length(min=0, max=255, message="营业执照名长度不能超过 255 个字符")
	public String getEnterpriseName() {
		return enterpriseName;
	}

	public void setEnterpriseName(String enterpriseName) {
		this.enterpriseName = enterpriseName;
	}
	
	@NotBlank(message="营业执照号码不能为空")
	@Length(min=0, max=255, message="营业执照号码长度不能超过 255 个字符")
	public String getEnterpriseNum() {
		return enterpriseNum;
	}

	public void setEnterpriseNum(String enterpriseNum) {
		this.enterpriseNum = enterpriseNum;
	}
	
	@Length(min=0, max=64, message="联系人长度不能超过 64 个字符")
	public String getContactPerson() {
		return contactPerson;
	}

	public void setContactPerson(String contactPerson) {
		this.contactPerson = contactPerson;
	}
	
	@Length(min=0, max=255, message="联系人电话长度不能超过 255 个字符")
	public String getContactPersonTel() {
		return contactPersonTel;
	}

	public void setContactPersonTel(String contactPersonTel) {
		this.contactPersonTel = contactPersonTel;
	}
	
	@NotBlank(message="地址不能为空")
	@Length(min=0, max=64, message="地址长度不能超过 64 个字符")
	public String getAddr() {
		return addr;
	}

	public void setAddr(String addr) {
		this.addr = addr;
	}
	
	@Length(min=0, max=255, message="员工数量长度不能超过 255 个字符")
	public String getEmpCount() {
		return empCount;
	}

	public void setEmpCount(String empCount) {
		this.empCount = empCount;
	}
	
	@Length(min=0, max=255, message="企业性质长度不能超过 255 个字符")
	public String getEnterpriseType() {
		return enterpriseType;
	}

	public void setEnterpriseType(String enterpriseType) {
		this.enterpriseType = enterpriseType;
	}
	
	@Length(min=0, max=255, message="隐患等级长度不能超过 255 个字符")
	public String getDangerLev() {
		return dangerLev;
	}

	public void setDangerLev(String dangerLev) {
		this.dangerLev = dangerLev;
	}
	
	@Length(min=0, max=1, message="是否包含隐患点长度不能超过 1 个字符")
	public String getIsTrouble() {
		return isTrouble;
	}

	public void setIsTrouble(String isTrouble) {
		this.isTrouble = isTrouble;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getDeadline() {
		return deadline;
	}

	public void setDeadline(Date deadline) {
		this.deadline = deadline;
	}
	
	@Length(min=0, max=255, message="是否三合一长度不能超过 255 个字符")
	public String getIsTriad() {
		return isTriad;
	}

	public void setIsTriad(String isTriad) {
		this.isTriad = isTriad;
	}
	
	@Length(min=0, max=255, message="注册地长度不能超过 255 个字符")
	public String getRegistered() {
		return registered;
	}

	public void setRegistered(String registered) {
		this.registered = registered;
	}
	
	@Length(min=0, max=100, message="法人长度不能超过 100 个字符")
	public String getLegalPerson() {
		return legalPerson;
	}

	public void setLegalPerson(String legalPerson) {
		this.legalPerson = legalPerson;
	}
	
	@Length(min=0, max=20, message="法人电话长度不能超过 20 个字符")
	public String getLegalPersonTel() {
		return legalPersonTel;
	}

	public void setLegalPersonTel(String legalPersonTel) {
		this.legalPersonTel = legalPersonTel;
	}
	
	@Length(min=0, max=200, message="职务长度不能超过 200 个字符")
	public String getPost() {
		return post;
	}

	public void setPost(String post) {
		this.post = post;
	}
	
	@Length(min=0, max=255, message="营业执照照片长度不能超过 255 个字符")
	public String getEnterprisePicture() {
		return enterprisePicture;
	}

	public void setEnterprisePicture(String enterprisePicture) {
		this.enterprisePicture = enterprisePicture;
	}
	
	@Length(min=0, max=255, message="规模长度不能超过 255 个字符")
	public String getScale() {
		return scale;
	}

	public void setScale(String scale) {
		this.scale = scale;
	}
	
	@Length(min=0, max=64, message="面积长度不能超过 64 个字符")
	public String getArea() {
		return area;
	}

	public void setArea(String area) {
		this.area = area;
	}
	
	@Length(min=0, max=300, message="年产值长度不能超过 300 个字符")
	public String getYearValue() {
		return yearValue;
	}

	public void setYearValue(String yearValue) {
		this.yearValue = yearValue;
	}
	
	@Length(min=0, max=255, message="楼层高度长度不能超过 255 个字符")
	public String getFloorCount() {
		return floorCount;
	}

	public void setFloorCount(String floorCount) {
		this.floorCount = floorCount;
	}
	
	@Length(min=0, max=255, message="经营范围长度不能超过 255 个字符")
	public String getBuinessContent() {
		return buinessContent;
	}

	public void setBuinessContent(String buinessContent) {
		this.buinessContent = buinessContent;
	}
	
	@Length(min=0, max=64, message="经度长度不能超过 64 个字符")
	public String getLongitude() {
		return longitude;
	}

	public void setLongitude(String longitude) {
		this.longitude = longitude;
	}
	
	@Length(min=0, max=64, message="维度长度不能超过 64 个字符")
	public String getDimension() {
		return dimension;
	}

	public void setDimension(String dimension) {
		this.dimension = dimension;
	}
	
	@Length(min=0, max=255, message="部门id长度不能超过 255 个字符")
	public String getOfficeId() {
		return officeId;
	}

	public void setOfficeId(String officeId) {
		this.officeId = officeId;
	}
	
	@NotBlank(message="area_id不能为空")
	@Length(min=0, max=64, message="area_id长度不能超过 64 个字符")
	public String getAreaId() {
		return areaId;
	}

	public void setAreaId(String areaId) {
		this.areaId = areaId;
	}
	
	@Length(min=0, max=255, message="sys_userid长度不能超过 255 个字符")
	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}
	
	@Length(min=0, max=10, message="完成第几轮排查长度不能超过 10 个字符")
	public String getCycleIndex() {
		return cycleIndex;
	}

	public void setCycleIndex(String cycleIndex) {
		this.cycleIndex = cycleIndex;
	}
	
	@Length(min=0, max=10, message="第几轮排查的第几次排查长度不能超过 10 个字符")
	public String getCycleCount() {
		return cycleCount;
	}

	public void setCycleCount(String cycleCount) {
		this.cycleCount = cycleCount;
	}
	
	@Length(min=0, max=255, message="计划第几轮排查长度不能超过 255 个字符")
	public String getCycleAjzIndex() {
		return cycleAjzIndex;
	}

	public void setCycleAjzIndex(String cycleAjzIndex) {
		this.cycleAjzIndex = cycleAjzIndex;
	}
	
}